The present invention relates to data retrieval systems generally and to data retrieval systems with co-presence mechanisms in particular.
Data retrieval systems are known in the art. A typical one is shown in FIG. 1 to which reference is now made. Data retrieval systems typically consist of a data server 10 and multiple data-retrieval clients 12 which are typically separate computers. Upon command of a data-retrieval client 12, the data server 10 accesses a data repository 14, or database, that contains data objects 16 therein. Data objects 16 are typically files of information. The data-retrieval clients 12 also communicate with a user 17, typically through an interactive display 18.
A typical data retrieval operation, depicted in FIG. 2 to which reference is now made proceeds as follows: upon receipt of an instruction (arrow 1) from the user 17 to retrieve a certain data object 16, the data-retrieval client 12 sends (arrow 2) a request to the data server 10 on which the object resides. The data server, 10 retrieves the requested data object 16 (arrow 3) from the data repository 14 and sends the object 16 back (arrow 4) to the data-retrieval client 12. The data-retrieval client 12 then displays (arrow 5) the retrieved data object 16 to the user 17.
Additional features incorporated in a data retrieval system may include a data-management mechanism that allows a data-retrieval client 12 to create a new data object 16, to modify a retrieved data object 16 and to send the created or modified data object 16 back to the data server 10 for storage in the data repository 14, and a permission mechanism that allows the server 10 to approve or deny certain client requests.
Examples of data retrieval systems, some of which include the additional features, include the file transfer protocol (FTP), hypertext transfer protocol (HTTP), Gopher and network file systems (NFS) standards, network news servers (NNTP), DEC Notes of Digital Electric Corporation of the USA, Lotus Notes of Lotus Inc. of the USA, Novell NetWare of Novell Inc. of the USA, and the relational database management systems (RDBMS) such as those manufactured by Oracle, Sybase, and Informix, all of the USA.
There is provided, in accordance with a preferred embodiment of the present invention, a data retrieval system has a data server, a co-presence server and at least one awareness co-presence client. The data server retrieves at least one data object from among a plurality of data objects stored in a data repository. The co-presence server opens communication and observation channels associated with at least one of the data objects. The awareness co-presence clients communicate with the co-presence server and define an awareness state of the client. The co-presence server opens a communication channel or an observation channel with each client depending on the awareness state of each client per retrieved data object. For observation channels, the co-presence server indicates to each client which other clients have retrieved the same data object. The co-presence server opens a communication channel associated with a retrieved data object to those clients which retrieved the data object and which are in a communication type of awareness state.
Additionally, in accordance with a preferred embodiment of the present invention, for a data object retrieved by the data server for one of the awareness co-presence clients, the co-presence server indicates to the one client which other clients have retrieved the same data object and provides a communication channel associated with the retrieved data object to those clients which retrieved the data object and which are in a communication type of awareness state.
Moreover, in accordance with a preferred embodiment of the present invention the co-presence server generates one virtual place per data object retrieved from the data server, associates each virtual place with its data object once its data object is accessed and generates communication and observation channels to awareness co-presence clients in response to the awareness state of each the client.
Further, in accordance with a preferred embodiment of the present invention, the awareness co-presence client associates a data object received from the data server with one of the at least one virtual places in the co-presence server.
Finally, in accordance with a preferred embodiment of the present invention, the awareness state is one of: public observation, private observation and communication.